#include <bits/stdc++.h>
using namespace std;
using uint=unsigned int;
using ll=long long;
using ull=unsigned long long;
using i128=__int128;
const long long N=1000009;

long long n,q,fa[10][N];
long long find(long long x,long long shu)
{
	if(fa[shu][x]==x) return x;
	else return fa[shu][x]=find(fa[shu][x],shu);
}
int main()
{
	scanf("%lld%lld",&n,&q);
	for(long long i=1;i<=n;i++)
		for(long long j=1;j<10;j++)
			fa[j][i]=i;
	long long ans=10*(n-1);
	for(long long i=1;i<=n+q-1;i++)
	{
		long long x,y,z;
		scanf("%lld%lld%lld",&x,&y,&z);
		for(long long j=z;j<10;j++)
		{
			long long fx=find(x,j),fy=find(y,j);
			if(fx!=fy) {ans--,fa[j][fy]=fx;}
			else break;
		}
		if(i>=n) printf("%lld\n",ans);
	}
	return 0;
}